約 6,147,266 件
https://w.atwiki.jp/atwikimyj/pages/25.html
参考 [http //d.hatena.ne.jp/ZIGOROu/20061105/1162736838] CPAN [http //search.cpan.org/~mschilli/Log-Log4perl-1.10...] use宣言 use Catalyst Log Log4perl; ※Catalystのプラグインではない。 * log吐き出し先ファイルを設定(confのパーミッションを775にしてね) PACKAGE- log(Catalyst Log Log4perl- new("/var/www/vhosts/hoge.net/conf/log4perl.conf")); #PACKAGE setup; わからないけどsetupのメソッドを使うとエラーになる(なぜかDB内のUserテーブルが読めない!というエラー なんなんだ。。) エラーログにエラーが出る Log Log4perl configuration looks suspicious No loggers defined at /usr/local/lib/perl5/site_perl/5.8.8/Log/Log4perl/Config.pm line 308., referer http //hoge.net/user/Login/ ロガーを定義していないと思う、、とかわいいログが残っている。 confに何もかかれていない。でもエラーログにはいつもよりいろんなログが 出るようになった。 これでいいような。。。confの意味は?
https://w.atwiki.jp/atwikimyj/pages/104.html
openssl-develのインストール # yum install openssl-devel
https://w.atwiki.jp/aster-infra/pages/43.html
対話的にRPMパッケージ管理を行う。 # yum list インストール可能なパッケージを一覧表示する # yum info 利用できるパッケージの情報をリスト表示する # yum check-update アップデート候補をリストする。 # yum install パッケージ名 指定したパッケージと依存関係のあるパッケージもインストールする # yum remove/erase パッケージ名 指定したパッケージと依存関係のあるパッケージもアンインストールする # yum update パッケージ名 指定したパッケージのみアップデートするが、パッケージを指定しない場合 インストール可能なパッケージを全てアップデートする # yum clean 使用済みのパッケージとヘッダファイルを削除する
https://w.atwiki.jp/wiki2_shiyuu/pages/7.html
yumコマンド yum install 指定したパッケージをインストールします。 パッケージ名がわからない場合はsearchなどで調べる。 yum install apache yum remove 指定したパッケージをアンインストールします。 インストール済みパッケージを調べるにはlistを使う。 yum remove apache yum update 最新のパッケージに更新する。 アップデートするパッケージを指定しない場合、システムにインストール済みんのすべてのパッケージを最新に更新する。 yum update 指定のパッケージだけアップデートする場合は以下のようにする。 yum update apache yum list 現在インストール可能なパッケージをインターネット上から検索し表示する。 自分のシステムにインストール済みパッケージを表示する場合は下のようにする。 yum list installed yum info パッケージに関する情報を表示する。 自分のシステムにインストール済みパッケージの情報を表示する場合は以下のようにする。 yum info installed yum serach パッケージの情報から該当する文字列のものを検索し、表示する。 yum search apache
https://w.atwiki.jp/macdemysql6/pages/15.html
Perl perlからいろいろなDB操作を行う。 DBIのインストール cpanのページからDBIモジュールをMacOSにインストールする。 ”DBI-1.609.tar.gz”こんな感じのファイルをダウンロードし、インストール。READMEを読もう。簡単にインストールができるはず。 DBD-mysqlのインストール cpanのページからDBD-mysqlモジュールをダウンロードし、インストールする。こいつはインストールがよくわからない。DBIのインストールだけでは、MySQLサーバに接続できないのでDBIとセットでインストールする必要あり。 とりあえず、perl Makefile.PL- make- make installでインストールできたけど。 Digestのインストール cpanのページからDigestをダウンロードし、いつもの通りインストール。READMEには具体的なコマンドが書かれていなかったので備忘録をば、、、 siro ~/Unix/build/Digest-1.16 Pipin$ perl Makefile.PL siro ~/Unix/build/Digest-1.16 Pipin$ make siro ~/Unix/build/Digest-1.16 Pipin$ make test All tests successful. siro ~/Unix/build/Digest-1.16 Pipin$ sudo make install Password Writing //System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Digest/.packlist Appending installation info to //System/Library/Perl/5.8.6/darwin-thread-multi-2level/perllocal.pod Perlスクリプト Step1 コネクト これができなきゃ始まらない。 #!/usr/bin/perl use DBI; my $rdb= DBI mysql gdb ; my $user= mysql ; my $pass= mysql ; # open mysql connection $dbh = DBI- connect($rdb, $user, $pass) or die "Cannt connect to MySQL"; # close mysql connection $dbh- disconnect;
https://w.atwiki.jp/rubyocho/pages/37.html
動作環境 パッケージ yum lighttpd, lighttpd-fastcgi ruby-gemパッケージのインストール Gem GemRunner(NameError)"のエラー対策 gemパッケージをインストール その他、必要なプログラム 本プログラムのインストール chasen辞書の設定 データベースの設定 Webサーバの設定: 動作環境 おそらく、RedHatやCentOSのyum系dも動くかも? CentOS5.1で パッケージ yum yum listで下調べ # yum list | grep ruby ruby.i386 1.8.5-5.el5_1.1 installed ruby-devel.i386 1.8.5-5.el5_1.1 installed ruby-libs.i386 1.8.5-5.el5_1.1 installed ruby-mode.i386 1.8.5-5.el5_1.1 installed ruby-docs.i386 1.8.5-5.el5_1.1 updates ruby-irb.i386 1.8.5-5.el5_1.1 updates ruby-rdoc.i386 1.8.5-5.el5_1.1 updates # yum list | grep lib | grep ruby apt-getで必要なパッケージは、 apt-get install ruby irb ruby1.8-dev libpgsql-ruby1.8 libfcgi-ruby1.8 librmagick-ruby1.8 libopenssl-ruby1.8 rdoc zlib1g-dev apache2 postgresql postfix chasen chasen-dictutils libchasen-dev ipadic kakasi libkakasi-ruby1.8 zip unzip rsync libgd2-xpm libgd-ruby1.8 libxslt1-dev xsltproc gcc make とりあえず、いける所まで、言ってみよ~~。 lighttpd, lighttpd-fastcgi lighttpd+PHP ruby-gemパッケージのインストール http //www.rubygems.org/からruby-gemの最新版をインストール wget http //rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz tar xzovf rubygems-1.0.1.tgz cd rubygems-1.0.1 ruby setup.rb apt-get install rubygems Gem GemRunner(NameError)"のエラー対策 http //d.hatena.ne.jp/bottleneck/20080112/1200135756 gemパッケージをインストール gem install rake scrapi tidy --include-dependencies その他、必要なプログラム 音声合成やルビ振りのページの作成のために,rubyからchsenを使用するためのライブラリ wget http //raa.ruby-lang.org/cache/ruby-chasen/chasen1.6.tar.gz tar zxvf chasen1.6.tar.gz cd chasen1.6 ruby extconf.rb make sudo make install 音声合成プログラムであるlameをダウンロードし、インストール wget http //downloads.sourceforge.net/lame/lame-3.97.tar.gz tar zxvf lame-3.97.tar.gz cd lame-3.97 ./configure make make install 本プログラムのインストール ディレクトリ配置プログラム本体: /var/share/cms/ (所有者www-dataユーザ) 公開ページのdoc root: /var/www/cms/ (所有者www-dataユーザ) 本プログラムを/var/share/cms/にcopy mkdir -p /var/share/cms chown -R www-data www-data /var/share/cms tar zxvf pref-shimane-cms-1.0.0.tar.gz mkdir /var/www/cms cp -r pref-shimane-cms-1.0.0/* /var/share/cms/ chown -r www-data www-data /var/share/cms chasen辞書の設定 ページの読み上げ機能のためにユーザが単語の読みを登録 辞書の作成と、辞書をchasenが利用できるように cd /var/share/cms/dict/ sudo -u www-data make chasenの辞書directoryにユーザ辞書へのsymlinkを作成 ln -s /var/share/cms/dict/user.* /usr/share/chasen/dic/ipadic/ データベースの設定 データベースユーザの作成 createuser www-data Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) n データベースの作成:テスト用、開発用、本番用のデータベースを作成 createdb -U www-data cms_test -E UNICODE createdb -U www-data cms_development -E UNICODE createdb -U www-data cms_production -E UNICODE Webサーバの設定:
https://w.atwiki.jp/beaglemasa/pages/66.html
パッケージ管理システム設定 RPMパッケージのインストール・アンインストールを行うyumの初期設定を行う # /etc/rc.d/init.d/yum-updatesd stop ← yum-updatesd停止 yum-updates を停止中 [ OK ] 停止理由としては、 デフォルトで1時間ごとにアップデートチェックを行うようになっており、手動によるパッケージインストールと競合するとインストールが失敗する 大量にメモリを消費する(約10MB以上使用) # yum -y remove yum-updatesd ← yum-updatesd削除 # yum -y install yum-fastestmirror ← fastestmirrorプラグインインストール ※インストールパッケージダウンロード時の最適ミラーサイトを自動選択するようにする # yum -y update ← インストール済パッケージの一括アップデート ※こちらを実行することで大量のパッケージのダウンロード/アップデートを行うため時間がかかる ネットワーク環境を確認の上実行してください。 # yum -y install yum-cron ← yum-cronインストール # /etc/rc.d/init.d/yum-cron start ← パッケージ自動更新起動 夜間 yum 更新の有効化中 [ OK ] # chkconfig yum-cron on ← パッケージ自動更新自動起動設定
https://w.atwiki.jp/atwikimyj/pages/59.html
emplate-Toolkitでのはまり、TIPSを記録する。 ◆リンク集 <参考> TTdoc 和訳ページ http //www.hakoniwa.net/tt/index.html TT超入門。これで基本がわかった http //www.sea-bird.org/doc/Solaris8/Perl_2.html サンプル http //bob.marlboro.edu/~msie/2001/ipl/perl/code/jan27/TemplateToolkit/ TTで使える関数プチ一覧。なんでもできそうだ。 http //hwat.sakura.ne.jp/hpod/200604/06-140134/ DBマガジンのサンプルプログラム 紙だけど、相当参考になった。 ◆TIPS (1)インストールにきをつけろ perlのサンプルスクリプト上では template というモジュール名になっているので PPMで template と指定してインストール。しかしこれはTTとは別のモジュールなのだ。 本当は template-toolkit でsearchして、この名前でインストールする必要があった、、、。 (2)イテレイト型のオブジェクトをそのままTTにぶんなげる $Sale_prod_list = MAGCLASS ObjectsTable - search( [ $criteria1 , $criteria2 , $criteria3, $criteria4 ],{ order_by = prod_sellrank } ); こんなふうに雑誌情報のオブジェクトを取得して、 my $template = Template- new; my $output; $template- process( teiki_make_index.html ,{ Sale_prod_list = $Sale_prod_list } ,$output); こうする。複数の雑誌情報を持つオブジェクトが teiki_make_index.html に投げられる。 これを受け入れる書式は [% WHILE ( sp = Sale_prod_list.next) -%] [% IF sp.prod_price != %] /価格:[% sp.prod_price %]円 [% END %] [% IF sp.prod_toku != %] /(特典あり) [% END %] [% END %] こんな感じ。まずWHILEでperlから渡されたSale_prod_listを受けるわけだけど 1つ1つ順番に読み込むようにSale_prod_list.nextと記述し、その1つ1つの オブジェクトはsp = Sale_prod_list.nextとすることでspに入る。 sp.prod_noなどとすることでオブジェクト内のハッシュを読み取れる。 注意点: ・WHILEやENDなどの書式は必ず大文字 ・条件式は必ずENDで閉めよう (3)作製されたHTMLについて $template- process( teiki_make_index.html ,{ Sale_prod_list = $Sale_prod_list } ,$output); と記述すると、$outputに作製されたHTMLが入る。 (テンプレート ,{ エイリアス= オブジェクト } , $出力先変数) という書式。注意点として、$outputではだめで、$outputとしなければならない) また、出力先変数を省略して $template- process( teiki_make_index.html ,{ Sale_prod_list = $Sale_prod_list } ); とすると自動的にprintされる。 以下いろんなサイトからのメモ ■HTMLファイルのエスケープ HTMLタグのエスケープしろという命令をテンプレートに記述できます。フィルター機能についてはTemplate Toolkit Manual Filtersに詳しく書いてありますが、例えば、 [% foo | html %]でfooの中身のHTMLタグをエスケープして出力してくれますし、 [% bar | html_line_break %]
https://w.atwiki.jp/atwikimyj/pages/23.html
文字通りperlで実装するセッション管理。 <参考>CGI Session.pmでセッション管理 http //www.dab.hi-ho.ne.jp/sasa/biboroku/perl/session.html インストール linux上で [root@localhost] perl -MCPAN -e shell cpan install CGI session これで終わり。 利用 perlスクリプト内で use CGI Session qw/-ip_match/; #異なるipからのアクセスは認めない #Tutrial .podは -ip-match ,Session.pmは -ip_match .多分 -ip_match . my $session=CGI Session- new(undef,undef,{Directory= ./.session }); #セッションidの生成 .ディレクトリ.sessionは予め作っておく $session- expire( +1m ); #有効期限の設定.1分間 $session- param( name , john ); #セッション経由で引き渡す項目と値
https://w.atwiki.jp/atwikimyj/pages/38.html
mod_perl2では実行しているスクリプトのあるディレクトリを カレントディレクトリとして認識してくれないので面倒! という記事によくあたる。へえ、それ面倒だな、、と思っていたが、 いろいろと調べるとそうとは限らないようだ。 カレントディレクトリがどうなるかは、動作モデルによるらしい。 参考: TurboLinux「Apache MPM を変更する」 http //www.turbolinux.co.jp/support/document/knowledge/627.html えーっと、Apache2では動作モデルがいっぱい選択できる。その中の prefork動作とWorker動作について説明すると、、 prefork動作ではクライアントからのリクエストがある度 に子プロセスを作成する。 Worker動作では複数のプロセスとスレッドによりリクエストを処理します。 複数のスレッドは同じメモリを共有し、連携して処理が行われます。 スレッドってなんじゃい?linuxでのマルチスレッド、マルチプロセスの話は hatenaの伊藤さんが詳しく説明されています。 Hatena Diary naoya「マルチスレッドのコンテキスト切り替えに伴うコスト」 http //d.hatena.ne.jp/naoya/20071010/1192040413 (社内勉強用の資料のようです。いいなあ。はてな入ってperlやりてえなあ でもこの資料まともに読めない自分のような人間は必要ないだろうなあ) preforkは従来のmod_perlと同じやり方となり、安定性がある。 worker動作をさせたほうが、効率的で、処理が速い、らしい。 よほどの理由がない限り、worker動作を使いこなせるはずもない。 また、preforkはスクリプトのあるディレクトリをカレントディレクトリ として認識してくれるので、やはりこちらか。ということで、 下記のサイトを参考にPrefork専用のハンドラーを利用するということにする。 adiary開発日誌「2006/04/15(土) mod_perl で chdir」 http //adiary.blog.abk.nu/07 TransFreeBSDの日記 「[perl]ModPerl {PerlRun,Registry,RegistryPrefork}でのカレントディレクトリ、BEGINブロック、@INCの扱いメモ」 http //freebsd.g.hatena.ne.jp/TransFreeBSD/20061124/p1 日誌「Apache MPM」 http //tkusano.asablo.jp/blog/2006/11/10/745619